package root;

import java.util.HashMap;
import java.awt.Color;


public class MapObjects {
	static HashMap<String, Color>  ColorMap;
	static HashMap<String, Boolean> MultipleMap;

	static public void init() {
		MultipleMap = new HashMap<String, Boolean>();
		ColorMap = new HashMap<String, Color>();

		ColorMap.put("Plateau", Utils.couleurPlateau);

		ColorMap.put("Model.Construction.Habitation.Pavillon", Utils.couleurPavillon);
		ColorMap.put("Model.Construction.Habitation.Appartements", Utils.couleurImmeuble);
		ColorMap.put("Model.Construction.Habitation.HLM", Utils.couleurHLM);

		ColorMap.put("Model.Construction.Industrie.FermeLocale", Utils.couleurFerme);
		ColorMap.put("Model.Construction.Industrie.FermeIndustrielle", Utils.couleurUsine);
		ColorMap.put("Model.Construction.Industrie.UsineTextileLocale", Utils.couleurIndusLourde);
		ColorMap.put("Model.Construction.Industrie.UsineTextileIndustrielle", Utils.couleurIndusLourde.darker());

		ColorMap.put("Model.Construction.Commerces.Epicerie", Utils.couleurProximite);
		ColorMap.put("Model.Construction.Commerces.MagasinTextile", Utils.couleurSuper);
		ColorMap.put("Model.Construction.Commerces.Supermarche", Utils.couleurHyper);

		ColorMap.put("Model.Construction.BatimentAttractif.Stade", Utils.couleurStade);
		ColorMap.put("Model.Construction.BatimentAttractif.HotelVille", Utils.couleurHotel);
		ColorMap.put("Model.Construction.BatimentAttractif.Police", Utils.couleurPolice);
		ColorMap.put("Model.Construction.BatimentAttractif.Cinema", Utils.couleurCinema);


		ColorMap.put("Model.Construction.Services.Eau", Utils.couleurEau);
		ColorMap.put("Model.Construction.Services.Electricite", Utils.couleurElectricite);
		ColorMap.put("Model.Construction.Services.Route", Utils.couleurRoute);
		ColorMap.put(".Destruction", Utils.couleurDestruction);



		//Multiple map
		MultipleMap.put("Model.Construction.Habitation.Pavillon", Boolean.TRUE);
		MultipleMap.put("Model.Construction.Habitation.Appartements", Boolean.TRUE);
		MultipleMap.put("Model.Construction.Habitation.HLM", Boolean.TRUE);

		MultipleMap.put("Model.Construction.Commerces.Epicerie", Boolean.TRUE);
		MultipleMap.put("Model.Construction.Commerces.MagasinTextile", Boolean.TRUE);
		MultipleMap.put("Model.Construction.Commerces.Supermarche", Boolean.TRUE);

		MultipleMap.put("Model.Construction.Industrie.FermeLocale", Boolean.TRUE);
		MultipleMap.put("Model.Construction.Industrie.FermeIndustrielle", Boolean.TRUE);
		MultipleMap.put("Model.Construction.Industrie.UsineTextileLocale", Boolean.TRUE);
		MultipleMap.put("Model.Construction.Industrie.UsineTextileIndustrielle", Boolean.TRUE);
	}


	static public Color getCouleur(String s) throws ColorNotFoundException  {
		Color c = ColorMap.get(s);
		if (c != null) {
			return c;
		} else {
			throw new ColorNotFoundException(s);
		}
	}

	static public boolean isMultiple(String s)  {
		Boolean b = MultipleMap.get(s);
		if(b == null || b == Boolean.FALSE) {
			//TODO On pourrait lever un exception si NULL
			return false;
		} else {
			return true;
		}
	}
}

